home *** CD-ROM | disk | FTP | other *** search
- global gCamera, gCar, gRacers
-
- on updateCamera
- carPos = gCar.worldPosition
- targetPos = gRacers[1].pTrackBelowPos.isectPosition
- TurnData = gRacers[1].pTurnData
- tempTrans = transform()
- tempTrans.position = targetPos + vector(0, 5, 0)
- tempTrans.rotation = vector(0, TurnData.currentTurn, 0)
- if gRacers[1].pAmBoosting then
- currTime = the milliSeconds
- timePassed = the milliSeconds - gRacers[1].pTimeBoosting
- if timePassed < 1000 then
- percentTime = timePassed / 3500.0
- else
- if timePassed < 3000 then
- percentTime = 0.5
- else
- percentTime = 0.5 + ((timePassed - 3000) / 1750.0)
- end if
- end if
- cameraOffset = 20 * sin(percentTime * PI)
- tempTrans.preTranslate(vector(0, 15, 55 + cameraOffset))
- gCamera.transform.interpolateTo(tempTrans, 100)
- else
- tempTrans.preTranslate(vector(0, 15, 55))
- gCamera.transform.interpolateTo(tempTrans, 100)
- end if
- gCamera.transform.interpolateTo(tempTrans, 100)
- if (gCar.worldPosition.y - (targetPos.y + 12)) > 0 then
- gCamera.pointAt(gCar.worldPosition)
- else
- gCamera.pointAt(targetPos + vector(0, 12, 0))
- end if
- end
-